Solid Modeling
Solid modeling is a term that refers to a set of techniques that can be used to create and store computer based representations of physical objects. A number of techniques have evolved over the years for providing computer-based representations of three-dimensional parts. One of these techniques is Boundary Representation, commonly referred to as B-rep.
A B-rep model of a mechanical part consists of a set of “faces,” “edges” and “vertices,” which are connected together to form a topological structure of the part. By using such a representation, it is possible to evaluate many properties of the part from its computer model. These include the mass, the volume, the moments of inertia and products of inertia. Additionally, such models enable computer-based analysis of stress and strains under different loading conditions.
A B-rep model representing a volume is termed as a solid model; a B-rep model comprising a collection of surfaces without enclosing a volume is termed as a surface or sheet model. In general, we refer a B-rep model as a model or a part.
Software based on solid modeling is widely used by engineers to create models of parts that are intended to eventually be manufactured. Software such as SolidWorks™ (SolidWorks Inc.), Pro/Engineer™ (Parametric Technology), I-DEASTM (Structural Dynamics Research Corp.), Mechanical Desktop™ (AutoDesk) are examples of solid modeling software.
Overview of Blends
Blends are typically introduced into solid modeling to smoothen sharp edges and vertices in the part in order to improve their strength, to enhance the aesthetics thereof, and to ensure the manufacturability of the part. In this operation, called blending or filleting, new faces are introduced in place of the sharp edges and vertices to create smooth transitions from one surface to another. FIG. 1 shows an example of blending the part shown in FIG. 2.
Blends are of interest to engineers during all stages of the design-to-manufacturing cycle. While editing a part model, designers may be interested in modifying blend parameters such as the radius of the blend. In the analysis stage, an engineer may prefer to remove some blends since they are not expected to contribute significantly to stresses and strains in the part. For example, in Finite Element Analysis (FEA), removal of blends simplifies the part for mesh generation and analysis. Blend removal is also useful in recognition of features such as pockets and slots, as it is usually easier to recognize features in a model which does not contain blends. During manufacturing planning, the blend radii govern the selection of some of the manufacturing processes, the machine tools, the cutting tools and even the part stock itself.
The most common blend is the so-called face-face blend, which replaces a sharp edge by a face tangent to the two faces adjoining the sharp edge. The blend surface usually has a circular cross section, and the plane of the cross section is always perpendicular to both the adjoining faces. When three or more blended edges meet at a common vertex, a vertex blend is formed that connects all the neighboring blends smoothly. In simple blending, the geometry of a vertex blend is usually a sphere; however, in the general case, the geometry is described by an n-sided vertex blend surface. In special cases, blending can also take place between a face and an edge. Such blends are called face-edge blends or cliff blends, and may occur as boundary cases of face-face blends. FIG. 3 shows an example of a simple blend created by filleting one edge of a block while FIG. 4(b) shows examples of various types of blends that appear during blending the simple part shown in FIG. 4(a).
The blend geometry is computed using an imaginary rolling ball that maintains contact with the surfaces to be blended. The blend surface can be visualized as the envelope of this ball as it rolls along the edge. The locus of points traced by the rolling ball center is called the spine curve; the two edges of contact are called spring edges. The side faces neighboring the spring edges of the blend are called the support faces since they support the rolling ball. Thus, referring to FIG. 3, s1 and s2 indicate the spring edges of a blend. In FIG. 3, p1 and p2 indicate terminating edges as discussed below.
Blending may either add material to or remove material from a model, depending on the convexity characteristics of the blended edge. In this regard, a blend on a convex edge removes material from the model, while a blend on a concave edge adds material to the model.
Often during blending, a single blend operation generates many blend faces connected smoothly to each other. Such sets of blend faces created in a single blending operation are referred to as blend chains. The edges that connect adjacent blend faces present in a blend chain are called cross edges. Cross edges are usually generated when any of the adjoining support faces of the blend changes during blending. FIG. 6 shows an example of a convex blend formed by blending an edge of the model shown in FIG. 5. FIG. 7 shows an example of a concave blend chain formed by blending the three edges shown in FIG. 6, along with the two cross edges or cross curves that are present in the blend chain.
When a blend face in at the end of a blend chain, sharp edges are created. When the blend face terminates on a single face, a single sharp edge is created which is termed as an isolated terminating edge. In the example shown in FIG. 3, the blend chain has isolated terminating edges p1 and p2. When the blend face terminates in multiple faces, multiple sharp edges are formed. Sharp edges are also created due to interaction of blend with other features. Examples of such sharp edges are shown in FIGS. 10(a) and 10(b).
In many situations, blends created in different blending operations interact with each other forming a blend network. FIGS. 8(a) to 8(g) shows multiple blending operations forming a blend network.
Interacting Blends
Based on the nature of the support faces, blends are classified into several categories. When the support faces of the blend are same as the adjoining faces of the blended edge, the corresponding blend is termed as a normal blend. FIG. 3 shows an example of a normal blend. FIGS. 7 and 8 also show only normal blends in every step since the support faces of each blend face are the same as the adjoining faces of the blended edges.
In certain cases, the support face of the blend is not an adjoining face of the blended edge due to blend interactions. Example of such cases are shown in FIGS. 9(b), 9(d), 9(f) and 9(h). There are two common occurrences of blend interactions that will be considered below. In the first case, a blend chain interacts with another blend chain such that the support faces of a subset of blend faces in one chain are also blend faces belonging to another blend chain. Such interacting blend faces are termed blend on blend faces. The spring edges of the blend on blend faces are termed blend on blend edges. FIG. 9(b) shows the creation of a blend chain got by blending a single edge shown in FIG. 9(a). As indicated in FIG. 9(b), three of the blend faces shown are blend on blend faces, while the remaining two faces are normal blends.
In the second case, a portion of the blend chain rolls along an edge resulting in intermediate face-edge blends. These blends have a single support face on one side and an edge curve on the other side. These blends are termed as cliff blends and the corresponding edges that support the blends are termed as cliff edges. FIG. 9(d) shows cliff blends created by blending the edges shown in FIG. 9(c).
In certain situations, blend on blends and cliff blends can cause complete removal of a support face. FIG. 9(f) shows an example of a blend on blend that removes a support face of a neighboring blend during blending the edges shown in FIG. 9(e). FIG. 9(h) shows an example of a cliff blend that removes a face during blending the edge shown in FIG. 9(g).
Overview of Blend Recognition
Blend recognition is a necessary step required prior to blend removal. The current invention uses a blend recognition algorithm to generate information relating the underlying blend structure. One example of a blend recognition algorithm is described in the abovementioned U.S. application Ser. No. 09/984,801. Blend recognition is described in brief below.
The input to the blend recognizer is a B-Rep model. The output is a list of blend chains present in the model along with the corresponding blend parameters. The chains are also sequenced in an order that denotes a possible sequence that could have been used to create the blend network. The blend recognizer makes use of geometric clues to recognize and sequence the blends in the model.
FIGS. 11(a) and 119(b) show an example demonstrating the output of the blend recognizer for the blend network shown in FIG. 8(g). FIG. 11(a) is an enlarged version of FIG. 8(g) with the twelve fillet faces indicated by numerals 1 to 12. The recognized blends are chained and sequenced and are displayed alongside in FIG. 11(b). The blend recognizer recognizes six chains in this case; each chain corresponds exactly to the set of blends created in one intermediate step shown in FIGS. 8(a) to 8(g). The order of chains output also match the sequence in which they were created in the blend network.
In certain cases, it is possible for multiple sets of blend faces to be created either in the same or in different operations. In order to distinguish the two, the blend faces in a single blend chain are further classified into different leaf chains. Leaf chains represent minimal groups of blend faces that can be created in a single blending operation. Separate leaf chains in the same chain may or may not be created in a single blending operation. Leaf chains usually terminate at sharp edges or vertex blends, and blend chains are formed by grouping leaf chains across vertex blends. FIG. 12(a) shows the results of blends recognized on a simple model including seven fillet faces denoted 1 to 7. In this example, as shown in FIG. 12(b). Chain 1 consists of three leaf chains, each of which terminates on one side on vertex blend 7. Chain 2 consists of a single leaf chain that consists of faces 4,5 and 6. Again, the chain order denotes a possible sequence in which they were created originally in the model.
Euler Operations
The blend removal algorithm uses low-level topological operators, termed as Euler operators, to modify the local topology. A brief overview of Euler operators is given below.
Euler Operations are low-level topological functions that create/modify a small region of topology. Using these operators, topological elements such as faces, loops, edges and vertices may be added, removed, or modified in a model. It is know that the topology of any manifold B-rep model can be constructed using a sequence of Euler operators. Further, one can construct any valid model from any other valid B-rep topology by a finite sequence of these operators. Together with functions to attached and detach geometry, these functions enable applications to implement their own modeling operations.
Euler Operations always return a body with valid topological data-structures. However, the functions do not alter geometry, i.e., new or modified topology has no geometry attached. Geometry is later attached to the new or modified topology to make the model geometrically valid.
The Euler operators can be divided into two groups: the “make” group and the “kill” group. The make group consists of operators for adding some elements into the existing model, while the kill group does exactly the inverse of the make group. For example, MEV is an operator that makes an edge and a vertex, while KEV is an operator that kills (or deletes) and edge and vertex. Similarly, MEF is an Euler operator that makes an edge and face and KEF is the corresponding inverse operator. FIGS. 13(b) and 13(c) show examples of successively using two kill operators, KEV and KEF, respectively, to change the topology of the model shown in FIG. 13(a).